/*
 * Created on Dec 16, 2004
 *
 */
package ca.etsmtl.log120.tp3.tests;

import junit.framework.TestCase;
import ca.etsmtl.log120.tp3.cartes.Carte;
import ca.etsmtl.log120.tp3.cartes.CouleurCarte;
import ca.etsmtl.log120.tp3.cartes.Denomination;
import ca.etsmtl.log120.tp3.mains.Main;
import ca.etsmtl.log120.tp3.rangs.Quinte;


/**
 * Ensemble de tests unitaires pour tester l'analyse d'une main qui est une quinte de Poker
 * 
 * @author Cris Fuhrman
 */
public class QuinteTest extends TestCase{


	public void testEvalueMain()
	{
		/*
		 * Test avec main qui n'est pas une quinte
		 */
		Main main = new Main();
		main.add(new Carte(Denomination.TROIS, CouleurCarte.CARREAU));
		main.add(new Carte(Denomination.NEUF, CouleurCarte.PIQUE));
		main.add(new Carte(Denomination.AS, CouleurCarte.TREFLE));
		main.add(new Carte(Denomination.DAME, CouleurCarte.COEUR));
		main.add(new Carte(Denomination.DEUX, CouleurCarte.COEUR));
		
		assertFalse(new Quinte().reconnaitreMain(main));

		/*
		 * Test avec main qui est une quinte sans AS
		 */
		main = new Main();
		main.add(new Carte(Denomination.TROIS, CouleurCarte.PIQUE));
		main.add(new Carte(Denomination.CINQ, CouleurCarte.CARREAU));
		main.add(new Carte(Denomination.QUATRE, CouleurCarte.TREFLE));
		main.add(new Carte(Denomination.DEUX, CouleurCarte.COEUR));
		main.add(new Carte(Denomination.SIX, CouleurCarte.CARREAU));
		
		assertTrue(new Quinte().reconnaitreMain(main));
		
		/*
		 * Test avec main qui est une quinte avec AS
		 */
		main = new Main();
		main.add(new Carte(Denomination.DIX, CouleurCarte.CARREAU));
		main.add(new Carte(Denomination.AS, CouleurCarte.CARREAU));
		main.add(new Carte(Denomination.ROI, CouleurCarte.CARREAU));
		main.add(new Carte(Denomination.DAME, CouleurCarte.CARREAU));
		main.add(new Carte(Denomination.VALET, CouleurCarte.CARREAU));
		
		assertEquals(true, new Quinte().reconnaitreMain(main));
		
		/*
		 * Test avec main qui n'est pas une quinte
		 */
		main = new Main();
		main.add(new Carte(Denomination.DIX, CouleurCarte.CARREAU));
		main.add(new Carte(Denomination.DEUX, CouleurCarte.CARREAU));
		main.add(new Carte(Denomination.ROI, CouleurCarte.CARREAU));
		main.add(new Carte(Denomination.DAME, CouleurCarte.CARREAU));
		main.add(new Carte(Denomination.VALET, CouleurCarte.CARREAU));
		
		assertEquals(false, new Quinte().reconnaitreMain(main));

	}
}

///
